package com.example.volunteer.service;


import com.example.volunteer.model.Points;
import com.example.volunteer.util.PageResult;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public interface PointsService {

    PageResult<Points> findPointsWithPage(@Param("offset") int offset, @Param("pageSize") int pageSize);

    PageResult<Points> findByVolunteerIdWithPage(@Param("volunteerId") String volunteerId, @Param("offset") int offset, @Param("pageSize") int pageSize);

    PageResult<Points> findByActivityIdWithPage(@Param("activityId") Integer activityId, @Param("offset") int offset, @Param("pageSize") int pageSize);

    PageResult<Points> findByPointsIdWithPage(@Param("pointsId") Integer pointsId, @Param("offset") int offset, @Param("pageSize") int pageSize);

    PageResult<Points> findByPointsEarnWithPage(@Param("pointsEarned") int pointsEarned, @Param("offset") int offset, @Param("pageSize") int pageSize);

    PageResult<Points> findTop10VolunteersWithPage(@Param("offset") int offset, @Param("pageSize") int pageSize);

    PageResult<Points> findTop10VolunteersByPeriodWithPage(@Param("months") int months, @Param("offset") int offset, @Param("pageSize") int pageSize);
}
